﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Conexion;
using System.Data;
using AccesoDatos;
using AccesoDatos.Objetos;

namespace AccesoDatos
{
    public class Manejador_Embarque
    {

        public DataTable GetFolioAutorizados(string User,int Sucursal)
        {
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                lista.Add(new clsParametros("@Nombre", User));
                lista.Add(new clsParametros("@Suc", Sucursal.ToString()));
                DataTable Datos = objConn.Datatable_standart("sp_RMA_web_FolioEmbarquesAutorizados", lista);

                return Datos;
            }
            catch (Exception ex)
            {
                DataTable Datos = new DataTable();
                return Datos;
            }
        }

        public DataTable GetCorreo(string FolioEmbarque)
        {
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                lista.Add(new clsParametros("@Embarque", FolioEmbarque));
                DataTable Datos = objConn.Datatable_standart("sp_RMA_web_embarques_Correo", lista);

                return Datos;
            }
            catch (Exception ex)
            {
                DataTable Datos = new DataTable();
                return Datos;
            }
        }

        public DataTable GetEmbarquesAlmacen()
        {
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                DataTable Datos = objConn.Datatable_standart("sp_RMA_web_getAlamcen");

                return Datos;
            }
            catch (Exception ex)
            {
                DataTable Datos = new DataTable();
                return Datos;
            }
        }

        public string Add_GetEmbarque(clsEmbarques objEm)
        {
            string Datos;
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                lista.Add(new clsParametros("@NumeroGuia", objEm.NumeroGuia));
                lista.Add(new clsParametros("@Fecha", objEm.Fecha));
                lista.Add(new clsParametros("@Paqueteria", objEm.Paqueteria));
                lista.Add(new clsParametros("@Rastreo", objEm.Rastreo));
                lista.Add(new clsParametros("@Observaciones", objEm.Observaciones));
                lista.Add(new clsParametros("@Sucursal", objEm.Sucursal));
                lista.Add(new clsParametros("@Cajas", objEm.Cajas));
                Datos = objConn.Scalar("sp_RMA_web_embarques", lista).ToString();
                return Datos;
            }
            catch (Exception ex)
            {
                Datos = "No existe";
                return Datos;
            }
        }

        public bool Add_GetEmbarqueDetalles(string ID_Embarque,string Folios,string Query)
        {
            bool Datos;
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                lista.Add(new clsParametros("@Id", ID_Embarque));
                lista.Add(new clsParametros("@Ordenes", Folios));
                lista.Add(new clsParametros("@Query", Query));
                Datos = objConn.Procedure_standart("sp_RMA_web_embarques_detalle", lista);
                return Datos;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        public bool ConfirmarAlmacen(string ID_Embarque,string cajas)
        {
            bool Datos;
            try
            {
                List<clsParametros> lista = new List<clsParametros>();
                clsConexion objConn = new clsConexion();
                lista = new List<clsParametros>();
                lista.Add(new clsParametros("@EmbarqueId", ID_Embarque));
                lista.Add(new clsParametros("@Cajas", cajas));
                Datos = objConn.Procedure_standart("sp_RMA_web_ModAlamcen", lista);
                return Datos;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
    }
}
